package com.itheima.jobs;

import com.itheima.constant.RedisConstant;
import com.itheima.utils.QiniuUtils;
import org.springframework.beans.factory.annotation.Autowired;
import redis.clients.jedis.JedisPool;

import java.util.Set;

/*
   自定义job,实现定时清理垃圾图片
 */
public class ClearImgJob {
   @Autowired
   private JedisPool jedisPool;

   //清理图片方法
   public void clearImg() {
      //1.通过redis中的数据算出两个集合的差集
      Set<String> set = jedisPool.getResource().sdiff(RedisConstant.SETMEAL_PIC_RESOURCES, RedisConstant.SETMEAL_PIC_DB_RESOURCES);

      //2.对差集进行遍历,并删除对于的数据
      for (String picName : set) {
         //2.1删除七牛云数据
         QiniuUtils.deleteFileFromQiniu(picName);
         //2.2删除redis数据
         jedisPool.getResource().srem(RedisConstant.SETMEAL_PIC_RESOURCES,picName);
      }
   }
}
